package com.kandinfo.survey.common.service;

import java.util.List;

import org.springframework.data.mongodb.core.query.Criteria;

import com.kandinfo.survey.common.mongo.QcQuestionDto;

/**
 * 问题 mongo 操作Service, created on 12/1/2016
 * 
 * @author Patrick-chenzp
 */
public interface MongoQuestionService {
    /**
     * 保存或更新
     * 
     * @param qc
     * @return
     */
    QcQuestionDto save(QcQuestionDto qc);

    /**
     * 除逻辑删除外(代码控制， 基础查询不做控制)
     * 
     * @param id
     * @return
     */
    QcQuestionDto findOne(Long id);

    /**
     * 逻辑删除
     * 
     * @param qc
     */
    void delete(QcQuestionDto qc);

    /**
     * 条件查询
     * 
     * @param criteria
     * @see https://docs.mongodb.com/manual/reference/operator/query/
     * @return
     */
    List<QcQuestionDto> findByCriteria(Criteria criteria);
}
